home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload Trio 2
/
Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO
/
dir39
/
4touch3.zip
/
TOUCH.BTM
< prev
next >
Wrap
Text File
|
1994-05-07
|
6KB
|
182 lines
@echo off
setlocal ^ unalias *
set _OrigDate=%_Date ^ set _OrigTime=%_Time
set _OrigFg=%_Fg ^ set _OrigBg=%_Bg
On Break (Date %_Origdate ^ Time %_OrigTime ^ setdos /s10:100 ^ cancel 255)
iff %1 eq /? .or. %1 eq ? (gosub Help ^ cancel)
iff not exist %1 then ^ beep
scrput %_Row %_Column %_OrigFg on %_OrigBg ` Error : Missing filespec or file(s) not found, program aborted !`
echo. ^ gosub Help ^ cancel 4
endiff
iff "%2" eq "/D" then ^ goto Date_First ^ elseiff "%2" eq "/T" then
goto Time_First ^ else ^ scrput %_Row %_Column %_OrigFg on %_OrigBg ` Error : Wrong or missing parameter, program aborted !`
echo. ^ gosub Help ^ cancel 4
endiff
:Touch
:┌────────────────────────────────────────────────────────────────────────┐
:│The DELAY command in the next 6 lines is needed if you useing a cache │
:│program such as SMARTDRV.EXE in all other cases you can remove the │
:│DELAY command and replace it with the following lines: │
:└────────────────────────────────────────────────────────────────────────┘
: iff %@instr[0,5,%_Time] eq %@instr[0,5,%_OrigTime] then ^ gosub Time_Reset
: elseiff %_Date eq %_OrigDate then
: gosub Date_Reset ^ else
: screen 0 0 One moment please, touching time and date of %@inc[%_Counter] files
: endiff
iff %@instr[0,5,%_Time] eq %@instr[0,5,%_OrigTime] then ^ gosub Time_Reset
delay ^ elseiff %_Date eq %_OrigDate then
gosub Date_Reset ^ delay ^ else
screen 0 0 One moment please, touching time and date of %@inc[%_Counter] files
endiff
if %@attrib[%x,r] eq 1 (set Tmpread=Yes ^ attrib /q -r %x)
set _Bar=%@inc[%_Bar]
iff %_Bar eq 33 then
set _Bar=1
if %_Sign eq 219 set _Sign=179
set _Sign=%@dec[%_Sign]
if %_Sign eq 175 set _Sign=219
endiff
screen 2 00 Touching %@upper[%@filename[%x]]%@repeat[%@char[255],5]
screen 2 26 %@repeat[%@char[%_Sign],%_Bar]
copy /hbq %x+Nul >& Nul
if "%Tmpread" ne "" (unset Tmpread ^ attrib /q +r %x)
if "%Tmptime" ne "" (unset Tmptime ^ Time %_Origtime)
if "%Tmpdate" ne "" (unset Tmpdate ^ Date %_Origdate)
iff %_? eq 0 then
set _Counter=%@inc[%_Counter] ^ else
set _Error=%@inc[%_Error]
endiff
return
:Help
Text
Purpose: Adjust the timerange and the daterange of one
or more files with the given time and date.
Format : TOUCH.BTM filespec [/D date] | [/T time]
filespec : One filename or a filespec by use of wildcards (*.*)
date : The date that has to be assigned to the file(s), you
must use the date-separators mandated by the country code
time : The time that has to be assigned to the file(s), you
must use the time-separators mandated by the country code
Endtext
setdos /s10:100
return
:Date_Reset
set Tmpdate=%@filedate[%x]
date %Tmpdate
screen 0 0 One moment please, touching times of %@inc[%_Counter] files
return
:Time_Reset
set Tmptime=%@filetime[%x]:00
time %Tmptime
screen 0 0 One moment please, touching dates of %@inc[%_Counter] files
return
:Date_First
setdos /s0:0
iff %@len[%3] eq 0 then ^ beep
scrput %_Row %_Column %_OrigFg on %_OrigBg ` Error : Missing date after the /D switch, program aborted !`
echo. ^ gosub Help ^ cancel 4
endiff
echo %3 | date >& nul
iff %_Date eq %_OrigDate then ^ beep
scrput %_Row %_Column %_OrigFg on %_OrigBg ` Error : Invalid date entered, program aborted !`
echo. ^ gosub Help ^ cancel 4
endiff
iff %@len[%4] eq 0 then ^ goto Execute ^ elseiff "%4" eq "/T" then
goto Time_Last ^ else ^ beep ^ Date %_OrigDate
scrput %_Row %_Column %_OrigFg on %_OrigBg %@char[255]Error : the switch %4 is an invalid parameter, program aborted !
echo. ^ gosub Help ^ cancel 4
endiff
:Time_Last
iff %@len[%5] eq 0 then ^ beep
scrput %_Row %_Column %_OrigFg on %_OrigBg ` Error : Missing time after the /T switch, program aborted !`
echo. ^ gosub Help ^ Date %_OrigDate ^ cancel 4
endiff
echo %5 | time >& nul
iff %_Time eq %_OrigTime then ^ beep
scrput %_Row %_Column %_OrigFg on %_OrigBg ` Error : Invalid time entered, program aborted !`
echo. ^ gosub Help ^ Date %_OrigDate ^ cancel 4 ^ else
goto Execute
endiff
:Time_First
setdos /s0:0
iff %@len[%3] eq 0 then ^ beep
scrput %_Row %_Column %_OrigFg on %_OrigBg ` Error : Missing time after the /T switch, program aborted !`
echo. ^ gosub Help ^ Date %_OrigDate ^ cancel
endiff
echo %3 | time >& nul
iff %_Time eq %_OrigTime then ^ beep
scrput %_Row %_Column %_OrigFg on %_OrigBg ` Error : Invalid time entered, program aborted !`
echo. ^ gosub Help ^ Date %_OrigDate ^ cancel
endiff
iff %@len[%4] eq 0 then ^ goto Execute ^ elseiff "%4" eq "/D" then
goto Date_Last ^ else ^ beep ^ Time %_OrigTime
scrput %_Row %_Column %_OrigFg on %_OrigBg %@char[255]Error : the switch %4 is an invalid parameter, program aborted !
echo. ^ gosub Help ^ cancel
endiff
:Date_Last
iff %@len[%5] eq 0 then ^ beep
scrput %_Row %_Column %_OrigFg on %_OrigBg ` Error : Missing date after the /D switch, program aborted !`
echo. ^ gosub Help ^ Time %_OrigTime ^ cancel
endiff
echo %5 | date >& nul
iff %_Date eq %_OrigDate then ^ beep
scrput %_Row %_Column %_OrigFg on %_OrigBg ` Error : Invalid date entered, program aborted !`
echo. ^ gosub Help ^ Time %_Origtime ^ cancel ^ else
goto Execute
endiff
:Execute
cls
if "%@path[%1]" ne "%_cwds" pushd %@path[%1]
set _Bar=0
set _Sign=219
set _Counter=0
set _Error=0
For /a:-d %x in (%1) do gosub Touch
Date %_OrigDate
Time %_OrigTime
if %_Counter eq 0 Screen 4 0 Warning: No Files have been succesfully touched
if %_Counter eq 1 Screen 4 0 %_Counter File has been succesfully touched, %_Error file(s) skipped !
if %_Counter gt 1 Screen 4 0 %_Counter Files have been succesfully touched, %_Error file(s) skipped !
Screen 5 0
popd >& nul
endlocal
setdos /s10:100
quit 0